Computer-implemented systems and methods for enhanced bitcoin wallets

ABSTRACT

The invention provides a smart cryptocurrency wallet. Embodiments of the invention provide a blockchain-implemented system and corresponding method for the secure, cryptographically enforced execution of a task. The invention may be implemented in conjunction with the Bitcoin blockchain, a variation thereof or an alternative blockchain platform. The invention provides an enhanced digital wallet which is capable of performing extended functionality beyond that of known cryptocurrency wallets. A system in accordance with the invention comprises a digital wallet; and a process execution component, e.g. an interpreter, embedded within, associated with, or arranged to interact with the digital wallet. The interpreter is arranged to execute or initiate at least one process in response to at least one trigger associated with or provided in a script for a blockchain transaction. The trigger may comprise one or more codes and/or parameters. The trigger may be codified within metadata in a locking script, and be provided to the wallets interpreter upon spending of the transaction output. The interpreter may be installed as a plug in or extension to the wallet.

This invention relates generally to distributed ledger (blockchain)technologies and, more particularly, to using such technologies toexecute or trigger a computer-implemented process. The invention alsorelates to digital wallet technologies and smart contracts. It relatesto secure performance of processes which are enforced throughcryptographically-oriented events.

In this document we use the term ‘blockchain’ to include all forms ofelectronic, computer-based, distributed ledgers. These includeconsensus-based blockchain and transaction-chain technologies,permissioned and un-permissioned ledgers, shared ledgers and variationsthereof. The most widely known application of blockchain technology isthe Bitcoin ledger, although other blockchain implementations have beenproposed and developed. While Bitcoin may be referred to herein for thepurpose of convenience and illustration, it should be noted that theinvention is not limited to use with the Bitcoin blockchain andalternative blockchain implementations and protocols fall within thescope of the present invention. The term “Bitcoin” may include anybranch, version or variation of the Bitcoin blockchain. The term “user”may refer herein to a human or a processor-based resource, as dependentupon context.

A blockchain is a peer-to-peer, electronic ledger which is implementedas a computer-based decentralised, distributed system made up of blockswhich in turn are made up of transactions. Each transaction is a datastructure that encodes the transfer of control of a digital assetbetween participants in the blockchain system, and includes at least oneinput and at least one output. Each block contains a hash of theprevious block to that blocks become chained together to create apermanent, unalterable record of all transactions which have beenwritten to the blockchain since its inception. Transactions containsmall programs known as scripts embedded into their inputs and outputs,which specify how and by whom the outputs of the transactions can beaccessed. On the Bitcoin platform, these scripts are written using astack-based scripting language.

In order for a transaction to be written to the blockchain, it must be“validated”. Network nodes (miners) perform work to ensure that eachtransaction is valid, with invalid transactions rejected from thenetwork. Software clients installed on the nodes perform this validationwork on an unspent transaction (UTXO) by executing its locking andunlocking scripts. If execution of the locking and unlocking scriptsevaluate to TRUE, the transaction is valid and the transaction iswritten to the blockchain. Thus, in order for a transaction to bewritten to the blockchain, it must be i) validated by the first nodethat receives the transaction—if the transaction is validated, the noderelays it to the other nodes in the network; and ii) added to a newblock built by a miner; and iii) mined, i.e. added to the public ledgerof past transactions.

Although blockchain technology is most widely known for the use ofcryptocurrency implementation, digital entrepreneurs have begunexploring the use of both the cryptographic security system Bitcoin isbased on and the data that can be stored on the Blockchain to implementnew systems. It would be highly advantageous if the blockchain could beused for automated tasks and processes which are not limited to therealm of cryptocurrency. Such solutions would be able to harness thebenefits of the blockchain (e.g. a permanent, tamper proof records ofevents, distributed processing etc) while being more versatile in theirapplications.

One area of current research is the use of the blockchain for theimplementation of “smart contracts”. These are computer programsdesigned to automate the execution of the terms of a machine-readablecontract or agreement. Unlike a traditional contract which would bewritten in natural language, a smart contract is a machine executableprogram which comprises rules that can process inputs in order toproduce results, which can then cause actions to be performed dependentupon those results.

One known approach to the performance and enforcement of smart contractsis to use a bot, or a network of bots which serve as computer-basedresources to handle and oversee the events which need to be performed incompliance with the contract. However, this involves reliance upon thirdparty bots and can lead to a complex, resource-intensive infrastructure.Security issues can arise because the bots themselves have to be securedagainst malicious and unauthorised activity. Thus, it is desirable toprovide an enhanced blockchain-implemented solution which inherits thebenefits of blockchain technology (eg cryptographic security, pseudoanonymity, decentralised deployment etc) and allows events and processesto be generated under specific conditions. It should be noted that theinvention is not limited for use with smart contracts, but can be usedto advantage in relation to contexts which require one or more events tobe performed and/or triggered under controlled conditions.

In accordance with the present invention there is provided a solution asdefined in the appended claims.

The invention may be described as a computer implemented and/orblockchain implemented system and method. Additionally or alternatively,it may be described as a security method for controlling when and/or howan event or process is triggered by a blockchain transaction, preferablyby a blockchain script. Additionally or alternatively, the invention maybe described as an enhanced or improved digital wallet. It may bedescribed as providing a smart or intelligent digital wallet.Preferably, this is a smart cryptocurrency wallet.

Additionally or alternatively, the invention may be described asproviding a system/method for integrating cryptographic events on ablockchain with events and processes conducted off-block. It may providean alternative infrastructure and architecture, comprising a blockchainnetwork and non-blockchain resources, for the execution of tasks. Thetasks may be specified by a contract, preferably a smart contract.

In accordance with the invention, there may be provided ablockchain-implemented system comprising:

-   -   a process execution component arranged to recognise one or more        codified instructions provided in or by a script of a blockchain        transaction, the process execution component being embedded in,        associated with or operable with a blockchain transaction        processing component.

Additionally or alternatively, the invention may provide ablockchain-implemented system comprising:

-   -   a blockchain transaction processing component; and    -   a process execution component.

The blockchain transaction processing component may be a softwareresource which is arranged to generate, transmit and/or process ablockchain transaction (Tx). It may be arranged for communication with ablockchain network. It may be, or may comprise, a digital wallet.Hereafter, for the sake of convenience, the terms “digital wallet”,“cryptocurrency wallet” or simply “wallet” may be used interchangeablywith “blockchain transaction processing component”.

The process execution component may be embedded within, associated with,or arranged to interact/operate with the digital wallet. It may bearranged to execute and/or initiate at least one process in response toat least one trigger associated with or provided in a script for ablockchain transaction. The trigger may be an actuator or initiator,something which causes something else to happen. That “something”, i.ethe process that is triggered may be distinct from, independent of orunrelated to the transaction, other than that it carries the trigger.

Thus, the present invention represents a divergence from prior arttechniques which attempt to provide execution logic within the script byexplicitly programming it using the script language. By contrast, inaccordance with one or more embodiments of the invention, the logic isonly codified within the script.

Another advantage of the present invention is that the use of thewallet-embedded/associated interpreter means that no external, thirdparty “bots” or “oracles” are required in order to perform the desiredtask, as per prior art arrangements. Instead, the invention enables theexecution of the task/process directly from the blockchain. Thus, fewercomputing resources are required, and the invention provides a moreefficient solution that that offered by the prior art.

The trigger may be a script component which can be identified ordetected by the process execution component. The trigger may take avariety of forms and the invention is not limited in this regard. It maybe one or more codes, identifiers, flags, keywords, values or anyitem(s) that can be inserted into the metadata to serve as a designatedtrigger that can be understood, interpreted by the process executioncomponent.

Execution of the process may result in performance of a task, or maycause another computing resource to perform a task in response todetection of or processing of the trigger. Preferably, the process isperformed by a resource other than the wallet.

The script may comprise one or a plurality of triggers. Each trigger mayinitiate one or a plurality of processes. The term “event” or “task” maybe used sometimes herein instead of “process”. The trigger may compriseone or more codified instructions.

The script may be a locking script arranged to secure an output in ablockchain transaction, as known in the art. The locking script maycomprise a hash of a redeem script, as known in the art. An appropriateunlocking script is required to unlock the funds locked by the lockingscript. The unlocking script may be provided by the wallet. Theunlocking and locking scripts may be evaluated upon attempting to spendthe output, in accordance with the art.

The blockchain transaction may be a transaction arranged for executionon any blockchain platform, including the Bitcoin network, any variationof the Bitcoin protocol, or an alternative protocol/platform. The walletmay be a cryptocurrency wallet. It may be arranged to storecryptographic keys, and process cryptocurrency transactions.

The at least one trigger may be arranged to initiate execution of theone or more processes by the process execution component. The at leastone trigger may comprise one or more codes and/or parameters. Thetrigger may be or provide codified instructions which are readable,recognisable and/or detectable by the process execution component.

The process execution component may be, or may comprise, an interpreter.It may be or comprise a Virtual Machine. Hereafter, the term“interpreter” may be used interchangeably with “process executioncomponent” for ease of reference. The interpreter may be arranged totranslate codified instructions provided by or represented by thetrigger into executable logic. Execution of the executable logic maycause the process to be initiated and/or executed.

The interpreter may be arranged to serve as a plug-in or add-oncomponent to the wallet. The wallet may be a generic digital wallet asdescribed below, and/or the interpreter may be a task, contract orapplication specific component which is arranged to operate inconjunction with wallet. Thus, in one sense, the wallet may be seen as ageneral purpose computing resource and the interpreter may be seen asthe application software arranged to operate with that generic resource.

The wallet may be installed on an electronic device operated by a user.The user may be an entity (human being or computing resource) capable ofoperating the wallet and being associated with the wallet eg via aregistration process. The user may be authorised to operate the walletand may undergo a verification process prior to being allowed access tothe wallet.

The codes, parameters, variables and/or instructions provided in thetransaction script causes the application software to execute and in aspecific manner. Thus, the invention can be viewed as providing asecure, powerful and versatile blockchain-implemented computing toolwhich can be used to automate and execute a task via the use ofcryptographically enforced blockchain transactions and transfers.

The at least one trigger may cause a signal to be sent to a destinationexternal to the wallet and/or interpreter. The signal may be any type ofsignal. It may comprise a message of some type. The signal may be sentto an off-block destination.

The process may be pre-determined and known to (coded or otherwiseprovided within) the process execution component. It may be known to thewallet.

The process may be determined by, or specified within, the script. Theprocess execution component may be arranged to translate or interpretone or more items within the script into executable logic. These itemscan take a variety of forms. They may be codes, flags, instructions,parameters etc.

The at least one trigger and/or at least one process may be selected ordetermined in accordance with a contract, scheme, agreement or otheractivity. A user of the wallet and/or interpreter may be a participantin the contract, scheme agreement or other activity. The contract may bea machine readable and executable smart contract as known in the art.

The at least one trigger may be provided within, via or by metadata thatis provided within the script. The script may be associated with anoutput of the blockchain transaction. It may be a locking script. It maycomprise a redeem script. Spending of the output may cause or performthe transfer of a token and/or portion of currency to a recipient on theblockchain. The currency may be a cryptocurrency.

The system may further comprise a plurality of digital wallets and/orprocess execution components. Thus, a network of wallets and associatedinterpreters may be provided. These may be arranged to interact witheach other and/or the blockchain.

The invention also provides one or more methods. The methods maycomprise steps corresponding to the use of system embodiments asdescribed above. Any feature(s), aspects or embodiments described abovemay be present in or applicable to any of the methods described below.

The invention may comprise a blockchain-implemented method comprisingthe step of:

-   -   providing a process execution component embedded within,        associated with, or arranged to interact/operate with a digital        or cryptocurrency wallet and arranged to initiate and/or execute        at least one process in response to at least one trigger        associated with or provided in a script for a blockchain        transaction.

Preferably,

-   -   i) the at least one trigger is arranged to initiate execution of        the one or more processes by the process execution component;    -   ii) the at least one trigger comprises one or more codes,        instructions, flags and/or parameters    -   iii) the process execution component is an interpreter;    -   iv) the trigger comprises at least one codified instruction;        and/or    -   v) the at least one trigger causes a signal to be sent to a        destination external to the wallet.

The process execution component may be an interpreter as describedabove.

Additionally or alternatively:

-   -   i) the process is pre-determined and known to the process        execution component and/or wallet;    -   ii) the process is determined by, or specified within, the        script, preferably wherein the process execution component is        arranged to translate or interpret one or more items within the        script into executable logic;    -   iii) the at least one trigger and/or at least one process is        selected or determined in accordance with a contract, preferably        a smart contract;    -   iv) the at least one trigger is provided within or by metadata        that is provided within the script; and/or    -   v) the script is associated with an output of the blockchain        transaction, and spending of the output causes transfer of a        token and/or portion of currency to a recipient on the        blockchain.

The method may comprise the step of

-   -   downloading and/or installing the digital wallet; and/or    -   downloading and/or installing the process execution component.

Additionally or alternatively, the invention may provide ablockchain-implemented method comprising the step of:

-   -   using one or more codified instructions provided in or by a        script of a blockchain transaction to cause an interpreter        associated with, operable with or embedded within, a digital        wallet to translate the codified instruction(s) into executable        logic.

The method may further comprise the step of:

-   -   Providing the codified instruction(s) in the script; and/or    -   Submitting the blockchain transaction to a blockchain network to        be written to a blockchain ledger.

It may further comprise the step of:

-   -   i) Arranging an interpreter to recognise one or more codified        instructions provided in or by a script of a blockchain        transaction, the interpreter being embedded in, associated with        or operable with a digital wallet; or    -   ii) providing an interpreter as defined in i)

These and other aspects of the present invention will be apparent fromand elucidated with reference to, the embodiment described herein. Anembodiment of the present invention will now be described, by way ofexample only, and with reference to the accompany drawings, in which:

FIG. 1 illustrates an embodiment of the present invention in which smartcontract logic is managed by specialised, enhanced wallets.

FIG. 2 illustrates an example blockchain network of nodes as is known inthe prior art.

FIG. 3 illustrates, in block diagram form, an example node.

To provide the technical context of the invention, reference will firstbe made to FIG. 2 which illustrates, in block diagram form, an exampleblockchain network 100 associated with a blockchain. The blockchainnetwork is a peer-to-peer network which may be joined by anyone, withoutinvitation or without consent from other members. Distributed electronicdevices running an instance of the blockchain protocol under which theblockchain network 100 operates may participate in the blockchainnetwork 100. Such distributed electronic devices may be referred to asnodes 102. The blockchain protocol may be a Bitcoin protocol, or othercryptocurrency, for example.

The electronic devices that run the blockchain protocol and that formthe nodes 102 of the blockchain network 100 may be of various typesincluding, for example, computers such as desktop computers, laptopcomputers, tablet computers, servers, mobile devices such a smartphones,wearable computers such as smart watches or other electronic devices.

Nodes 102 of the blockchain network 100 are coupled to one another usingsuitable communication technologies which may include wired and wirelesscommunication technologies. In many cases, the blockchain network 100 isimplemented at least partly over the Internet, and some of theindividual nodes 102 may be located in geographically dispersedlocations.

Nodes 102 maintain a global ledger of all transactions on theblockchain. The global ledger is a distributed ledger and each node 102may store a complete copy or a partial copy of the global ledger.Transactions by a node 102 affecting the global ledger are verified byother nodes 102 so that the validity of the global ledger is maintained.The details of implementing and operating a blockchain network, such asone using any variant derived from the Bitcoin protocol or analternative protocol, will be appreciated by those ordinarily skilled inthe art.

Each transaction typically has one or more inputs and one or moreoutputs. Scripts embedded into the inputs and outputs specify how and bywhom the outputs of the transactions can be accessed. The output of atransaction may be an address to which control of private cryptographickeys and tokens can be transferred as a result of the transaction. Thosekeys/tokens are then associated with that output address as an availabletransaction output. In the context of a cryptocurrency, like Bitcoin, anavailable transaction output may be referred to as an unspenttransaction output (UTXO). A subsequent transaction may then referencethat address as an input in order to transfer those keys/tokens to oneor more other addresses.

Nodes 102 may be of different types or categories, depending on theirfunctionality. It has been suggested that there are four basic functionsassociated with a node 102: wallet, mining, full blockchain maintenance,and network routing. There may be variations of these functions. Nodes102 may have more than one of the functions. For example, a “full node”offers all four functions. A lightweight node, such as may beimplemented in a digital wallet, for example, and may feature onlywallet and network routing functions. Rather than storing the fullblockchain, the digital wallet may keep track of block headers, whichserve as indexes when querying blocks. Nodes 102 communicate with eachother using a connection-oriented protocol, such as TCP/IP (TransmissionControl Protocol).

We now turn our attention to embodiments of the present invention, whichutilise and interact with this blockchain technology.

Embodiments of the present invention provide a solution in whichprocesses can be automated via the use of a blockchain. The inventionincorporates a software resource which is arranged to respond to orinteract with scripts provided within blockchain transactions (TXs). Ina preferred embodiment, the software resource is a digital wallet. Inparticular, the wallet is arranged to store, enact, generate orotherwise process cryptocurrency and related transactions. Hereafter,the terms “wallet” or “digital wallet” will be used interchangeably forconvenience. While digital wallets are known in the art, the presentinvention improves upon such technologies to provide a “smart wallet”which is capable of providing much wider functionality than presentlyknown, in conjunction with a blockchain network and protocol.

In a preferred embodiment, the invention provides an arrangement whichenables one or more processes to be executed by an enhanced wallet thathas a code execution component embedded within it or added to it as anextension. Hereafter, we will refer to this as “the interpreter”,interpreters being known in the art as mechanisms for code translationand execution.

In accordance with embodiments of the invention, the interpreter is ableto initiate and/or execute processes that are triggered by codifiedinstructions provided in blockchain transaction scripts. The script isassociated with an output (UTXO) in a blockchain transaction (Tx), andis a locking script. The locking script may comprise the hash of aredeem script as known in the art, such that the correct redeem scriptmust be provided to the unlocking script in order to spend the output.

In one embodiment, a network of such enhanced wallets comprises anexecution environment for smart contracts implemented in the form ofcodified instructions embedded within scripts. That is, a script mightcontain codes, instructions, variables and parameters that triggerwallets to execute certain processes.

For example, consider known, contractual situations in which a paymentserves as the trigger for an event to occur, such as the commencement ofa piece of building work, or the unlocking of a device, or the releaseof some digital content such as media content or software, or a transferof funds, or anything else that is specified by the contract.

Advantageously, we can implement such events using the enhanced smartwallet provided by the present invention. As is known in the art, whenan output in a blockchain transaction is spent, control of thecryptocurrency associated with that output is transferred from one partyto another. Spending of the output can also cause the transfer of atoken, which may be embedded within the transaction script. Therecipient of the transfer can be an enhanced wallet in accordance withthe invention.

However, this can be extended such that a blockchain transaction whichmakes such a transfer could also be coded to include a trigger for theensuing, associated event. The event may be executed in part or entiretyby the enhanced wallet/interpreter itself or it may simply be initiatedby the wallet e.g. by sending a signal to a destination to causeexecution of the event by another resource. In some embodiments, thisevent could be an off-block event.

So, in other words, a transfer on the blockchain from one party toanother causes at least one other event to be initiated and/or executedby the enhanced wallet.

The invention is not limited by the type of event (process) that can betriggered. However, by way of a simple example, it could be thetransmission of some kind of signal such as an email that alerts abuilder that payment has been made and work can commence. In anotherexample, a signal can be sent which causes a device or resource to beunlocked. Thus, the invention can serve as an authentication or securitysolution. Note that these simple examples are for illustration only.

The triggered event(s) might be predictable in that they could bestandardised processes that only need a trigger to initiate execution.Alternatively, the process to be executed is codified within the scriptand the wallet's Interpreter is arranged to translate the codifiedinstruction(s) into executable logic. When a transaction is broadcastthroughout the blockchain network as part of the normal protocol, theenhanced wallets can read any embedded codified instructions and executethem as an enhanced, extended functionality i.e. functionality beyondthe normal transaction processing that known wallets can perform. In onesense, then, a wallet arranged in accordance with the invention isextended from being solely a payment processing and handling resourceinto a multi-purpose, computing facility. When used in conjunction withthe performance of smart contracts, the invention becomes a powerful,versatile computing tool with much wider applicability than justtraditional wallet-based storage and processing.

As the invention serves as an extension to existing, known wallets, itcan be regarded in one sense as providing a new paradigm for softwaredistribution. The invention can be added to an existing wallet toprovide the extended functionality. This could be thought of as a “plugin”. The interpreter can be downloaded and installed on a computingresource and associated with an existing wallet, or it can be providedas an embedded component which is provided within the wallet rather thaninstalled as an extension. In the case of the latter, the extension mayinterface with the wallet using an API. The interpreter can be arrangedand configured to perform tasks(s) required or desired by the user inaccordance with a contract, agreement, scheme, network etc that they area participant in.

Beneficially, the invention provides a solution which does not need torely on third parties to execute automated bots for smart contractperformance and event handling via the blockchain. Also, the presentinvention requires a less complex infrastructure than a network of bots,and is also suitable for executing multiply-realisable processes.

The invention can also be used to advantage to form a network ofenhanced wallets, which can interact with one another to performsophisticated behaviours and tasks. In such an Enhanced Wallet networkthe executed logic is most likely not explicit and is executable by anyof the resources. The information required for the execution logic isprovided and transmitted within the (e.g. Bitcoin) script as codifiedtriggers that are detected and responded to by the interpreters withinthe network's wallets.

Use Case Example:

Consider the following scenario as an illustrative use case for enhancedwallets in accordance with one embodiment of the invention, and withreference to FIG. 1.

In this example, a manager or controller distributes a generic EnhancedWallet to willing recipients. These recipients could be referred to as“hosts”, “clients” or “users”. They may be computers upon which theinvention can be installed and executed. This is illustrated as the“host node” 1 in FIG. 1. For convenience we will call this the “SmartWallet” 2. This Smart Wallet does not perform any intelligent orextended functionality, and does not respond to any triggers as itserves simply as a core, generic cryptocurrency wallet that can be usedto store and handle blockchain transactions. In order to extend thefunctionality of the base Smart Wallet, the user installs one or moreSmart Wallet plug-ins 3 designed to generate and/or execute logic. Uponprovision of the plug in 3, the generic wallet 2 now comprises aninterpreter which provides intelligent capabilities to the wallet. Theseplug ins can be provided with, or separately from, the base Smart Wallet2. The Smart Wallet is capable of interaction and integration with theplug in(s) and vice versa. The plug in(s) respond to a particular,predetermined set of triggers 4 provided within locking scripts 5 ofblockchain transactions (TXs) 6 to execute specific process(es) inaccordance with a given task. As the Smart Wallet 2 and the plug ins 3are designed to work in conjunction with the blockchain, the inventioninherits all the benefits of the underlying infrastructure of theBlockchain i.e. cryptographic security; pseudonymity; robustness; etc.

For example, one wallet plug in could be a pharmacy application. In thisexample scenario, the doctor writes a prescription for a particularpatient who is allowed exactly three repeats. To prevent abuse, it isimportant that the prescription is not forged; that only the intendedrecipient receives the medication; and that everything is securelytrackable so that (for example) only the allowed number of repeats arefilled. The prescription is written into a Bitcoin transaction 6 asmetadata in the locking script 5 of a UTXO using tokenisation techniquesknown in the art, and signed by the doctor. This may be a digitalsignature. This locks the output to the desired recipient. The metadataincludes codified triggers 4 for the Pharmacy plug in 3. The pharmacyhas installed the Smart Wallet 2 and this plug in 3 on their server 1.

When the recipient presents the prescription to the pharmacy, thetransaction output is ‘spent’ in the conventional way i.e. the tokenisedprescription is ‘redeemed’ at the pharmacy, and perhaps also containsthe payment for the actual cost of the medication, possibly incryptocurrency. In addition to redeeming the token at the pharmacy, thewallet plug in executes a range of associated processes. For example, itupdates a government database 7 of prescriptions being filled (whoprescribed it; for whom; filled by which pharmacist; for which drugs;etc.); it updates the recipient's (Blockchain-based) medical records 7;etc.

The skilled person will readily appreciate that any number of associatedprocesses can be automated based on the metadata. For example, theprescription itself can be prepared ahead of time by the pharmacist andsimply picked up by the recipient rather than the recipient needing towait at the pharmacy (as per the conventional, paper-based paradigm).

Reference will now be made to FIG. 3, which shows, in block diagramform, a simplified example of a node 300, which may, in the context ofthe present disclosure, be a host node. The node 300 includes aprocessor 302, which may include one or more microprocessors,application specific integrated chips (ASICs), microcontrollers, orsimilar computer processing devices. The node 300 further includesmemory 304, which may include persistent and non-persistent memory, tostore values, variables, and in some instances processor-executableprogram instructions, and a network interface 306 to provide networkconnectivity over wired or wireless networks.

The node 300 includes a processor-executable blockchain application 308containing processor-executable instructions that, when executed, causethe processor 302 to carry out one or more of the functions oroperations described herein.

It should be noted that the above-mentioned embodiments illustraterather than limit the invention, and that those skilled in the art willbe capable of designing many alternative embodiments without departingfrom the scope of the invention as defined by the appended claims. Inthe claims, any reference signs placed in parentheses shall not beconstrued as limiting the claims. The word “comprising” and “comprises”,and the like, does not exclude the presence of elements or steps otherthan those listed in any claim or the specification as a whole. In thepresent specification, “comprises” means “includes or consists of” and“comprising” means “including or consisting of”. The singular referenceof an element does not exclude the plural reference of such elements andvice-versa. The invention may be implemented by means of hardwarecomprising several distinct elements, and by means of a suitablyprogrammed computer. In a device claim enumerating several means,several of these means may be embodied by one and the same item ofhardware. The mere fact that certain measures are recited in mutuallydifferent dependent claims does not indicate that a combination of thesemeasures cannot be used to advantage.

1. A blockchain-implemented system comprising: a digital wallet; and aprocess execution component embedded within, associated with, orarranged to interact with the digital wallet and arranged to executeand/or initiate at least one process in response to at least one triggerprovided in a script associated with a blockchain transaction; whereinthe process execution component is and/or comprises an interpreterarranged to translate codified instructions provided by or representedby the trigger into executable logic.
 2. A system according to claim 1wherein: the wallet is a cryptocurrency wallet.
 3. A system according toclaim 1 wherein: the at least one trigger comprises one or more codes,flags, instructions and/or parameters.
 4. A system according to claim 1wherein: the at least one trigger causes a signal to be sent to adestination external to the wallet.
 5. A system according to claim 1wherein: the process is pre-determined and known to the processexecution component and/or wallet.
 6. A system according to claim 1wherein: the process is determined by, or specified within, the script,preferably wherein the process execution component is arranged totranslate or interpret one or more items within the script intoexecutable logic.
 7. A system according to claim 1 wherein: the at leastone trigger and/or at least one process is selected or determined inaccordance with a contract, preferably wherein the contract is a smartcontract.
 8. A system according to claim 1 wherein: the at least onetrigger is provided within or by metadata that is provided by thescript.
 9. A system according to claim 1 wherein: the script isassociated with an output of the blockchain transaction, and spending ofthe output causes transfer of a token and/or portion of currency to arecipient on the blockchain.
 10. A system according to claim 1 wherein:the system further comprises a plurality of digital wallets and/orprocess execution components.
 11. A blockchain-implemented methodcomprising the step of: providing a process execution component embeddedwithin, associated with, or arranged to interact with a digital orcryptocurrency wallet and arranged to execute at least one process inresponse to at least one trigger associated with or provided in a scriptof a blockchain transaction.
 12. A method according to claim 11 wherein:i) the at least one trigger is arranged to initiate execution of the oneor more processes by the process execution component; ii) the at leastone trigger comprises one or more codes, instructions, flags and/orparameters iii) the process execution component is an interpreter;and/or iv) the at least one trigger causes a signal to be sent to adestination external to the wallet.
 13. A method according to claim 11wherein: i) the process is pre-determined and known to the processexecution component and/or wallet; ii) the process is determined by, orspecified within, the script, preferably wherein the process executioncomponent is arranged to translate or interpret one or more items withinthe script into executable logic; iii) the at least one trigger and/orat least one process is selected or determined in accordance with acontract, preferably a smart contract; iv) the at least one trigger isprovided within or by metadata that is provided within the script;and/or v) the script is associated with an output of the blockchaintransaction, and spending of the output causes transfer of a tokenand/or portion of currency to a recipient on the blockchain.
 14. Amethod according to claim 11 and further comprising the step of:downloading and/or installing the digital wallet; and/or downloadingand/or installing the process execution component.
 15. Ablockchain-implemented method comprising the step of: using one or morecodified instructions provided in or by a script of a blockchaintransaction to cause an interpreter associated with, operable with orembedded within, a digital or cryptocurrency wallet to translate thecodified instruction(s) into executable logic.
 16. A method according toclaim 15 and further comprising the step of: providing the codifiedinstruction(s) in the script; and/or submitting the blockchaintransaction to a blockchain network to be written to a blockchainledger.
 17. A blockchain-implemented method comprising the step of: i)arranging an interpreter to recognise one or more codified instructionsprovided in or by a script of a blockchain transaction, the interpreterbeing embedded in, associated with or operable with a digital orcryptocurrency wallet; or ii) providing an interpreter as defined in i).18. A blockchain-implemented system comprising: an interpreter arrangedto recognise one or more codified instructions provided in or by ascript of a blockchain transaction, the interpreter being embedded in,associated with or operable with a digital or cryptocurrency wallet. 19.A system, comprising: one or more processors; and memory storinginstructions executable by the one or more processors to cause thesystem to perform the method of claim
 12. 20. A system, comprising: oneor more processors; and memory storing instructions executable by theone or more processors to cause the system to perform the method ofclaim 13.